package Libs.Dados.Objetos
{
	import mx.collections.ArrayCollection;
	
	[RemoteClass(alias="Neturion.Dados.Endereco")]	
	public class Endereco
	{
		private var _enderecoId:int;
        private var _codigo:String;
        private var _numero:String;
        private var _complemento:String;
        private var _caixaPostal:String;
        private var _flagCobranca:Boolean;
        private var _flagCorrespondencia:Boolean;
        private var _flagFaturamento:Boolean;
        private var _flagPublicacao:Boolean;
        private var _observacao:String;
        private var _horaInicial:String;
        private var _horaFinal:String;
        private var _logradouro:Libs.Dados.Objetos.Logradouro;
        private var _listaTelefones:ArrayCollection;
        private var _inicioVigencia:Date;
        private var _fimVigencia:Date;
        private var _enumTipoResidencia:int;
        private var _neturionLog:Libs.Dados.Objetos.NeturionLog;
        private var _pessoa:Libs.Dados.Objetos.Pessoa;
		
		public function Endereco()
		{
			this._listaTelefones=new ArrayCollection();
		}

		public function set EnderecoId(value:int):void
        {
            this._enderecoId=value;
        }

        public function set Codigo(value:String):void
        {
            this._codigo=value;
        }

        public function set Numero(value:String):void
        {
            this._numero=value;
        }

        public function set Complemento(value:String):void
        {
            this._complemento=value;
        }

        public function set CaixaPostal(value:String):void
        {
            this._caixaPostal=value;
        }

        public function set FlagCobranca(value:Boolean):void
        {
            this._flagCobranca=value;
        }

        public function set FlagCorrespondencia(value:Boolean):void
        {
            this._flagCorrespondencia=value;
        }

        public function set FlagFaturamento(value:Boolean):void
        {
            this._flagFaturamento=value;
        }

        public function set FlagPublicacao(value:Boolean):void
        {
            this._flagPublicacao=value;
        }

        public function set InicioVigencia(value:Date):void
        {
            this._inicioVigencia=value;
        }

        public function set FimVigencia(value:Date):void
        {
            this._fimVigencia=value;
        }

        public function set Observacao(value:String):void
        {
            this._observacao=value;
        }

        public function set Logradouro(value:Libs.Dados.Objetos.Logradouro):void
        {
            this._logradouro=value;
        }

        public function set ListaTelefones(value:ArrayCollection):void
        {
            this._listaTelefones=value;
        }

        public function set NeturionLog(value:Libs.Dados.Objetos.NeturionLog):void
        {
            this._neturionLog=value;
        }

        public function set HoraInicial(value:String):void
        {
            this._horaInicial=value;
        }

        public function set HoraFinal(value:String):void
        {
            this._horaFinal=value;
        }

        public function set EnumTipoResidencia(value:int):void
        {
            this._enumTipoResidencia=value;
        }

        public function set Pessoa(value:Libs.Dados.Objetos.Pessoa):void
        {
            this._pessoa=value;
        }
      
        public function get EnderecoId():int
        {
            return this._enderecoId;
        }

        public function get Codigo():String
        {
            return this._codigo;
        }

        public function get Numero():String
        {
            return this._numero;
        }

        public function get Complemento():String
        {
            return this._complemento;
        }

        public function get CaixaPostal():String
        {
            return this._caixaPostal;
        }

        public function get FlagCobranca():Boolean
        {
            return this._flagCobranca;
        }

        public function get FlagCorrespondencia():Boolean
        {
            return this._flagCorrespondencia;
        }

        public function get FlagFaturamento():Boolean
        {
            return this._flagFaturamento;
        }

        public function get FlagPublicacao():Boolean
        {
            return this._flagPublicacao;
        }

        public function get InicioVigencia():Date
        {
        	var data:Date = null;
        	if (this._inicioVigencia != null)
        	{
        		var dia:Number = _inicioVigencia.dateUTC; 
	        	var mes:Number = _inicioVigencia.monthUTC; 
	        	var ano:Number = _inicioVigencia.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._inicioVigencia = data;
        }

        public function get FimVigencia():Date
        {
        	var data:Date = null;
        	if (this._fimVigencia != null)
        	{
        		var dia:Number = _fimVigencia.dateUTC; 
	        	var mes:Number = _fimVigencia.monthUTC; 
	        	var ano:Number = _fimVigencia.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._fimVigencia = data;
        }

        public function get Observacao():String
        {
            return this._observacao;
        }

        public function get Logradouro():Libs.Dados.Objetos.Logradouro
        {
            return this._logradouro;
        }

        public function get ListaTelefones():ArrayCollection
        {
            return this._listaTelefones;
        }

        public function get NeturionLog():Libs.Dados.Objetos.NeturionLog
        {
            return this._neturionLog;
        }

        public function get HoraInicial():String
        {
            return this._horaInicial;
        }

        public function get HoraFinal():String
        {
            return this._horaFinal;
        }

        public function get EnumTipoResidencia():int
        {
            return this._enumTipoResidencia;
        }

        public function get Pessoa():Libs.Dados.Objetos.Pessoa
        {
            return this._pessoa;
        }
	}
}